﻿<!--******************************************************************************************-->
//
//  警告: 本電腦程式著作受著作權法及國際公約之保護。
//  未經授權擅自複製或散佈本電腦程式著作之全部或部分
//  ，將導致嚴厲的民事或刑事處份，且將被依法提起最大
//  範圍的追訴。
//
//  CopyRight (C) Galaxy Software Service
//<!--******************************************************************************************-->

//<!--******************************************************************************************-->
//函數名稱：GSSUpLoadFile
//目    的：上傳檔案
//參數說明：vstrURL：上傳檔案的路徑
//			vobjForm：所在的Form物件
//			當為傳遞參數時，預設由觸發的事件的物件取得GSS_URL屬性值，及其所在的Form物件「預設方式」
//回傳值：True if valid, otherwise false.
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSUpLoadFile(vstrURL,vobjForm) {	
	var strURL='';
	var objSrc=event.srcElement;
	var objDocument=GSSGetDocument();
	var objSpan=GSSGetParentElementByTag(objSrc,'SPAN');
	var objFileList=objSpan.getElementsByTagName('SELECT')[0];
	var objFile=GSSgetElementsByAttr(objSpan,'INPUT','file','','')[0];
	
	if(objFile.value=='') return false;
	
	if(typeof(vobjForm)!='object'){
		if(event!=null){
			objForm=GSSGetEditForm(objSrc);}
		else{
			objForm=objDocument.forms[0];}
	}
	else{
		var objForm=vobjForm;}
	if(typeof(vstrURL)=='string'){
		strURL=vstrURL;}
	else{
		strURL=objSrc.getAttribute('GSS_URL');
		if(strURL==null) return false;
//		if(strURL==null) strURL='GSSUploadFile_s30.ASPX';
	}
	GSScreateInputElm(objDocument,objForm,'GSSObjNameFileList','HIDDEN','display:none',objFileList.name);
	objForm.encoding='multipart/form-data';
	GSSSubmitPage(objForm,strURL,'ADD','IFrameExec');
}

//<!--******************************************************************************************-->
//函數名稱：GSSRemoveFile
//目    的：刪除檔案
//參數說明：vstrURL：刪除檔案的路徑
//回傳值：無
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSRemoveFile(vstrURL) {
	var strURL='';
	var objSrc=event.srcElement;
	var objDocument=GSSGetDocument();
	var objForm=GSSGetEditForm(objSrc);
	var objSpan=GSSGetParentElementByTag(objSrc,'SPAN');
	var objFileList=objSpan.getElementsByTagName('SELECT')[0];
	var strObjName=objFileList.name;
	var strColListBox='';
	
	objForm.all['GSStxtActFlag'].value='DEL';
	if(typeof(vstrURL)=='string'){
		strURL=vstrURL;}
	else{
		strURL=objSrc.getAttribute('GSS_URL');
		if(strURL==null) return false;
//		if(strURL==null) strURL='GSSUploadFile_s30.ASP';
	}

	GSScreateInputElm(objDocument,objForm,'GSSObjNameFileList','HIDDEN','display:none',objFileList.name);

	for(i=0;i<objFileList.length;i++){
		if(objFileList.options[i].selected){
			strColListBox=strColListBox + objFileList.options[i].value + '\\|';
			strColListBox=strColListBox + objFileList.options[i].text + '\\,';
		}
	}
	if(strColListBox=='') return false;
	strColListBox = strColListBox.substr(0,strColListBox.length-2);
	GSScreateInputElm(objDocument,objForm,'data' + objFileList.name ,'HIDDEN','display:none',strColListBox);
	objForm.encoding='multipart/form-data';
	objForm.target='IFrameExec';
	objForm.action=strURL;
	objForm.submit();	
}

//<!--******************************************************************************************-->
//函數名稱：GSSResetFileList
//目    的：將檔案清單選項全部清除
//參數說明：vstrObjName：檔案清單物件名稱
//回傳值：無
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSResetFileList(vstrObjName) {
	var objDocument=GSSGetDocument();
	var objFileList=objDocument.getElementsByName(vstrObjName)[0];

	if(typeof(objFileList)!='object') return false;
	if(objFileList.tagName!='SELECT') return false;
	var intCount=objFileList.options.length;

   for (var i=intCount-1;i>=0;i--){
      objFileList.options[i].selected=false;
      objFileList.remove(i);}  
}

//<!--******************************************************************************************-->
//函數名稱：GSSAddFileList
//目    的：將檔案選項資料加入檔案清單中「會先清除檔案清單中所有的選項資料」
//參數說明：vVntObjName：檔案清單物件
//			vstrColFileName：檔案清單選項字串集合
//			格式：檔案選項VALUE屬性\|檔案選項TEXT屬性
//回傳值：True if valid, otherwise false.
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSAddFileList(vVntObjName,vstrColFileName) {
	var objFileList;
	var arrOpt;
	var strOptVal,strOptTxt;
	var objDocument=GSSGetDocument();
	var strFileListName=objDocument.all['GSSObjNameFileList'].value;
	var objFileList=objDocument.all[strFileListName];
	GSSResetFileList(strFileListName);
	if (vstrColFileName=='') return false;
	var arrFileName=vstrColFileName.split('\\,');

	for(var i=0;i<arrFileName.length;i++){
		arrOpt=arrFileName[i].split('\\|');
		strOptVal=arrOpt[0];
		if(arrOpt.length==2){
			strOptTxt=arrOpt[1];}
		else{
			strOptTxt=strOptVal;}
		var objItem = objDocument.createElement('OPTION');
		objItem.text = strOptTxt;
		objItem.value = strOptVal;	
		objFileList.options.add(objItem);		
	}
}

//<!--******************************************************************************************-->
//函數名稱：GSSGetFileListStr
//目    的：取得檔案清單選項集合字串
//參數說明：vstrObjName-檔案清單物件名稱
//回傳值：檔案清單選項集合字串(選項1Value\|選項1Text\,選項2Value\|選項2Text)
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSGetFileListStr(vstrObjName) {
	var objFileList=document.getElementsByName(vstrObjName)[0];
	var strRtn='';

	for(var i=0;i<objFileList.options.length;i++){
		if (strRtn!='') strRtn=strRtn + '\\,'
		strRtn=strRtn + objFileList.options[i].value + '\\|' + objFileList.options[i].text;
	}
	return strRtn;
}

//<!--******************************************************************************************-->
//函數名稱：GSSDownloadFile
//目    的：檔案下傳
//參數說明：vstrFileName-檔案名稱
//			vstrFilter-篩選條件字串
//			當為傳遞參數時，預設由觸發的事件的物件取得GSS_URL GSS_EXTRA_FLD屬性值
//回傳值：false：失敗
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSDownloadFile(vstrFileName,vstrFilter) {
	var strURL=''
	var strFilter='';
	var strWinFeatures='';
	var objTmp;
	var strEXTRA_FLD='';
	
	if(typeof(vstrFileName)!='string'){		
		var objSrc=event.srcElement;
		var objDocument=GSSGetDocument();
		var objForm=GSSGetEditForm(objSrc);
		vstrFileName=objSrc.getAttribute('GSS_URL');
		if(vstrFileName==null) vstrFileName=objSrc.getAttribute('URL');
		if(vstrFileName==null) vstrFileName=objSrc.innerText;
		if((vstrFileName==null)||(vstrFileName=='')) return false;
	}
	
	strURL=GSSstrPUB_FILE_FORDER_PATH + 'gDownLoad30.ASP';
	strURL=strURL + '?GSSdownLoadFile=' + escape(vstrFileName);
	
	if(typeof(objSrc)=='object'){
		if(objSrc.tagName=='SPAN'){
			strEXTRA_FLD=GSSgetAttribute(objSrc,'GSS_EXTRA_FLD');}
		else{
			strEXTRA_FLD=GSSgetAttribute(objSrc.parentElement,'GSS_EXTRA_FLD');}
		if(strEXTRA_FLD!=''){
			var arrEXTRA_FLD=strEXTRA_FLD.split('\\,');
			for(var i=0;i<arrEXTRA_FLD.length;i++){				
				objTmp=objDocument.all[arrEXTRA_FLD[i]];
				if (typeof(objTmp)=='object') strURL = strURL + '&' + arrEXTRA_FLD[i] + '=' + escape(objTmp.value);
			}
		}
		if(!vstrFilter) strFilter=GSSgetAttribute(objSrc,'GSS_FILTER');
	}
	if(typeof(vstrFilter)=='string') strFilter=vstrFilter;
	
	strURL = strURL + '&strFilter=' + escape(strFilter);	
	strURL += '&GSSStopRec=Y';		//避免關閉視窗後，連接至下一頁，再回上一頁，發生錯誤
	IFrameExec.location.replace(strURL);
//	window.open(strURL,'GetData',strWinFeatures); 因為此寫法於IE5.0無法WORK
}

//<!--******************************************************************************************-->
//函數名稱：GSSAttachFiles
//目    的：開啟附件新增與刪除視窗
//參數說明：vstrURL：開啟視窗路徑
//			vstrWinFeatures：開啟視窗外觀屬性
//			當為傳遞參數時，預設由觸發的事件的物件取得GSS_URL GSS_FEATURES屬性值
//回傳值：True if valid, otherwise false.
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSAttachFiles(vstrURL,vstrWinFeatures) {
	var strURL='';
	var strReturn;
	var objSrc=event.srcElement;
	var objChild;
	var objSpan=GSSGetParentElementByTag(objSrc,'SPAN');
	var objFileList=objSpan.getElementsByTagName('DIR')[0];
	var objForm=GSSGetEditForm(objFileList);

	if(typeof(document.all['GSSNameobjFileList'])!='object'){
		var	objElement=document.createElement('INPUT');
		objElement.setAttribute('TYPE','HIDDEN');
		objElement.setAttribute('name','GSSNameobjFileList');
		objElement.setAttribute('id','GSSNameobjFileList');
		objElement.setAttribute('style','');
		objElement.value=objFileList.id;
		objElement.style.display='none';
		objForm.appendChild(objElement);
	}
	document.all['GSSNameobjFileList'].value=objFileList.id;
	if (!vstrURL){
		strURL=objSrc.getAttribute('GSS_URL');
		if(strURL==null) strURL=objSrc.getAttribute('URL');
		if(strURL==null) strURL='GSSUploadFile30.ASP';
	}
	else{
		strURL=vstrURL;}
	intDeep=objForm['GSStxtFunDeep'].value;
    if(intDeep!=''){
        intDeep=parseInt(intDeep)+1;}
    else{
        intDeep=1;}  
	if(strURL.indexOf('?')>0){
		strURL=strURL + '&GSStxtFunDeep=' + intDeep;}
	else{
		strURL=strURL + '?GSStxtFunDeep=' + intDeep;}
	strURL += '&GSSStopRec=Y';		//避免關閉視窗後，連接至下一頁，再回上一頁，發生錯誤
	if (!vstrWinFeatures){
		vstrWinFeatures=objSrc.getAttribute('GSS_FEATURES');
		if(vstrWinFeatures==null) vstrWinFeatures='resizable=yes,location=no,titlebar=no,toolbar=no,menubar=no,status=yes,directories=no,scrollbars=yes,width=600,height=300px';}

	GSSwinOpened=window.open(strURL,'winFileUpload',vstrWinFeatures,true);
	document.body.attachEvent('onclick',GSSfocusWinOpened);
}

//<!--******************************************************************************************-->
//函數名稱：GSSResetOpenerFileList
//目    的：將開啟目前視窗的檔案清單選項物件選項清空
//參數說明：vvntObj：檔案清單物件或其名稱
//回傳值：無
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSResetOpenerFileList(vvntObj){
	var objDocument=GSSGetDocument();
	if(typeof(vvntObj)=='object'){
		var objFileList=vvntObj;}
	else{
		var objFileList=objDocument.all[vvntObj];
		if(typeof(objFileList)!='object') return false;
	}
	
	var strColFileList='';

    for(i=0;i<objFileList.length;i++){
        strColFileList=strColFileList + objFileList.options[i].value + '\\|';
        strColFileList=strColFileList + objFileList.options[i].text + '\\,';}
    	strColFileList=strColFileList.substr(0,strColFileList.length-2);
		
	var strHTML='';
	var strNameobjFileList=window.opener.document.all['GSSNameobjFileList'].value;
	var objFileList=window.opener.document.all[strNameobjFileList];
	if(strColFileList!=''){	
		var arrReturn=strColFileList.split('\\,');		
		for(var i=0;i<arrReturn.length;i++){
			var arrItem=arrReturn[i].split('\\|');
			strHTML=strHTML + '<LI CLASS=\"GSSclsFileLink\" GSS_URL=\"' + arrItem[0] + '\">' + arrItem[1] + '</LI>';
		}
	}
	objFileList.innerHTML=strHTML;
}